<?
if (!defined('_GNUBOARD_')) exit;

// 최신글 추출
function latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="")
{
    global $g4;

    if ($skin_dir)
        $latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
    else
        $latest_skin_path = "$g4[path]/skin/latest/basic";

    $list = array();
	$sql = "select * from $g4[board_table] where bo_table = ?";
    $params = array("$bo_table");
    $req = sql_prepare($sql, $params);
    $result = cubrid_execute($req);
    $board = cubrid_fetch($req);
    if ($req && $req > 0) { cubrid_close_request($req); $req = null; }

    $tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
    //$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, $rows ";
    /*
    // 위의 코드 보다 속도가 빠름
    $sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_num ".
    	"FOR ORDERBY_NUM() BETWEEN ".(0+1)." AND ".(0+$rows);
    //explain($sql);
    $result = sql_query($sql);
    for ($i=0; $row = sql_fetch_array($result); $i++) 
        $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
    */
    $sql = " select * from $tmp_write_table where wr_is_comment = ? order by wr_num ".
    		" FOR ORDERBY_NUM() BETWEEN ? AND ? ";
    $params = array(0, 1, 0+$rows);
    $req = sql_prepare($sql, $params);
    $result = cubrid_execute($req);
    for ($i=0; $row = cubrid_fetch($req); $i++) { 
        $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
    }
    if ($req && $req > 0) { cubrid_close_request($req); $req = null; }
    
    ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
} 
?>